Skip to content

feat(screens): formations page with keystones, keycards, rondo map (T-032) - #10

Merged
BrandanBurgess merged 19 commits into
mainfrom
integration
Jul 16, 2026
Merged

feat(screens): formations page with keystones, keycards, rondo map (T-032)#10
BrandanBurgess merged 19 commits into
mainfrom
integration

Conversation

@BrandanBurgess

Copy link
Copy Markdown
Owner

T-032: Formations page (Brief §4 step 18)

Board-first formation browser: six seeded presets with keystone pulse tokens and keycards, Details panel (strengths, danger areas, keystone blurbs), Rondo Map toggle with five zone cards resolving linked patterns by name, and a swipe-up sheet of searchable shape thumbnails. Reuses T-031's PatternPreviewBoard (extended with pulsing tokens and a clickable zone overlay, not forked).

DoD (Brief §5, Screens)

  • Page matches PNGs 11, 19, 37-39, 43 + 32, 36 across the three themes on desktop and phone frames; gold-only interactive; red never a call to action (three-theme e2e)
  • Every keystone tap shows its keycard (e2e iterates all keystones; non-keystone tokens show none)
  • Rondo Map zones each show their rondo and linked patterns (five zones asserted, linked-pattern names resolved against seed data)
  • All prior e2e intact; make verify green on integration post-merge (pytest 110+, vitest 69, playwright 50 both viewports, em-dash scan, seed validator)

Interpretations flagged (defaults shipped, not blocking)

  • Formation subtitles derive from seeded natural_identities (no tagline field exists in doc 03); keystone tokens labeled with real position_code, not the old PNGs' jersey numbering.
  • PNGs 32/36 reflect a superseded sidebar layout; Rondo Map is folded into the current board-first paradigm per the design README's textual description.
  • Only 4-3-3 carries seeded rondo zones (per the seed file's own note); other formations show the toggle disabled rather than fabricated zones.

🤖 Generated with Claude Code

BrandanBurgess and others added 19 commits July 16, 2026 02:39
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…T-030)

Whiteboard page (Brief step 16, PNG 01-05/14/34): toolbar, view menu
(zones + thresholds), record/replay, and save into My Patterns, all
persisted through the scoped query layer (backend/app/routers/whiteboard.py)
into the boards and saved_patterns rows (doc 03 4.2/4.3). Delete is
coach-only, enforced server-side (403 for players), and every saved
pattern is author-stamped from the caller's own membership, never a
client-supplied field.

Fixes a real reload bug: the view menu's settings popover floated above
the toolbar and, left open, could visually sit on top of a token (e.g.
the ball's default spot, or any token near the toolbar on a phone-width
board). A drag or click landing there hit the popover instead of the
token, and for a checkbox's label that silently flipped a zone toggle
the user never touched, which then persisted to the boards row on
reload. Fixed by closing the view menu when recording starts (a
deliberate mode switch) and, for phone-width boards where the popover
has no gap in the pitch it can occupy without covering some token,
pinning it to the viewport's top edge instead of floating over the
pitch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@BrandanBurgess
BrandanBurgess merged commit c41916b into main Jul 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant